package msgcomm.messages;

/**
 * Richiesta di aggiunta di un nome al Name Server. Questo payload viene usato
 * sia durante la richiesta che nella risposta
 */
public class RequestAddName extends RequestPayload {

	private static final long serialVersionUID = 5940190903718304150L;
	
	/**
	 * Nome di cui si richiede l'aggiunta
	 */
	public final String name;
	
	/**
	 * True se questo e' la risposta alla richiesta
	 */
	public final boolean isResponse;
	/**
	 * true se la risposta e' affermativa, false altrimenti (nome gia' presente).
	 * Valido solo se isResponse==true allora 
	 */
	public final boolean response;
	
	/**
	 * Crea il payload per la richiesta
	 * @param name nome di cui richiedere l'aggiunta
	 */
	public RequestAddName(String name) {
		this.name= name;
		this.isResponse= false;
		this.response= false;
	}
	
	/**
	 * Crea il payload di risposta
	 * @param name
	 * @param response
	 */
	public RequestAddName(String name, boolean response) {
		this.name= name;
		this.isResponse= true;
		this.response= response;
	}
	
	@Override
	public String toString() {
		if (isResponse) {
			return "RequestAddName[" + name + ": " + response + "]";
		} else {
			return "RequestAddName[" + name + "]";
		}
	}
}
